package com.rocky.pubimport.service;

import com.rocky.pubimport.common.ImportInfo;
import com.rocky.pubimport.common.ResponseImportResult;
import com.rocky.pubimport.entity.PubImportRecord;

import javax.servlet.http.HttpServletResponse;

/**
 * 数据导入公共处理服务接口
 * @author rocky
 * @date 2022/4/13 16:54
 */
public interface IPubImportRecordProcessService<T>  {

    /**
     * 获取业务模块标识
     * @return 业务模块
     */
    String getModel();

    /**
     * 下载excel模板
     * @param response 响应内容
     * @return ByteArrayOutputStream
     */
    void downloadTemplate(HttpServletResponse response);

    /**
     * 导入excel
     * @param info 导入信息
     * @return ResponseImportResult 处理信息
     */
    ResponseImportResult importExcel(ImportInfo info);

    /**
     * 处理excel数据
     * @param record 导入记录
     */
    void processData(PubImportRecord record);

}
